<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>19.1.7. email: Encoders &mdash; Python v2.6.2 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.6.2',
        COLLAPSE_MODINDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python v2.6.2 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="top" title="Python v2.6.2 documentation" href="../index.html" />
    <link rel="up" title="19.1. email — An email and MIME handling package" href="email.html" />
    <link rel="next" title="19.1.8. email: Exception and Defect classes" href="email.errors.html" />
    <link rel="prev" title="19.1.6. email: Representing character sets" href="email.charset.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
 

  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../modindex.html" title="Global Module Index"
             accesskey="M">modules</a> |</li>
        <li class="right" >
          <a href="email.errors.html" title="19.1.8. email: Exception and Defect classes"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="email.charset.html" title="19.1.6. email: Representing character sets"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="../index.html">Python v2.6.2 documentation</a> &raquo;</li>

          <li><a href="index.html" >The Python Standard Library</a> &raquo;</li>
          <li><a href="netdata.html" >19. Internet Data Handling</a> &raquo;</li>
          <li><a href="email.html" accesskey="U">19.1. <tt class="docutils literal docutils literal docutils literal docutils literal"><span class="pre">email</span></tt> &#8212; An email and MIME handling package</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="module-email.encoders">
<h1>19.1.7. <a title="Package supporting the parsing, manipulating, and generating email messages, including MIME documents." class="reference external" href="email.html#module-email"><tt class="xref docutils literal"><span class="pre">email</span></tt></a>: Encoders<a class="headerlink" href="#module-email.encoders" title="Permalink to this headline">¶</a></h1>
<p>When creating <tt class="xref docutils literal"><span class="pre">Message</span></tt> objects from scratch, you often need to encode
the payloads for transport through compliant mail servers. This is especially
true for <em>image/*</em> and <em>text/*</em> type messages containing
binary data.</p>
<p>The <a title="Package supporting the parsing, manipulating, and generating email messages, including MIME documents." class="reference external" href="email.html#module-email"><tt class="xref docutils literal"><span class="pre">email</span></tt></a> package provides some convenient encodings in its
<tt class="xref docutils literal"><span class="pre">encoders</span></tt> module.  These encoders are actually used by the
<tt class="xref docutils literal"><span class="pre">MIMEAudio</span></tt> and <tt class="xref docutils literal"><span class="pre">MIMEImage</span></tt> class constructors to provide default
encodings.  All encoder functions take exactly one argument, the message object
to encode.  They usually extract the payload, encode it, and reset the payload
to this newly encoded value.  They should also set the
<em>Content-Transfer-Encoding</em> header as appropriate.</p>
<p>Here are the encoding functions provided:</p>
<dl class="function">
<dt id="email.encoders.encode_quopri">
<tt class="descclassname">email.encoders.</tt><tt class="descname">encode_quopri</tt><big>(</big><em>msg</em><big>)</big><a class="headerlink" href="#email.encoders.encode_quopri" title="Permalink to this definition">¶</a></dt>
<dd>Encodes the payload into quoted-printable form and sets the
<em>Content-Transfer-Encoding</em> header to <tt class="docutils literal"><span class="pre">quoted-printable</span></tt> <a class="footnote-reference" href="#id2" id="id1">[1]</a>.
This is a good encoding to use when most of your payload is normal printable
data, but contains a few unprintable characters.</dd></dl>

<dl class="function">
<dt id="email.encoders.encode_base64">
<tt class="descclassname">email.encoders.</tt><tt class="descname">encode_base64</tt><big>(</big><em>msg</em><big>)</big><a class="headerlink" href="#email.encoders.encode_base64" title="Permalink to this definition">¶</a></dt>
<dd>Encodes the payload into base64 form and sets the
<em>Content-Transfer-Encoding</em> header to <tt class="docutils literal"><span class="pre">base64</span></tt>.  This is a good
encoding to use when most of your payload is unprintable data since it is a more
compact form than quoted-printable.  The drawback of base64 encoding is that it
renders the text non-human readable.</dd></dl>

<dl class="function">
<dt id="email.encoders.encode_7or8bit">
<tt class="descclassname">email.encoders.</tt><tt class="descname">encode_7or8bit</tt><big>(</big><em>msg</em><big>)</big><a class="headerlink" href="#email.encoders.encode_7or8bit" title="Permalink to this definition">¶</a></dt>
<dd>This doesn&#8217;t actually modify the message&#8217;s payload, but it does set the
<em>Content-Transfer-Encoding</em> header to either <tt class="docutils literal"><span class="pre">7bit</span></tt> or <tt class="docutils literal"><span class="pre">8bit</span></tt> as
appropriate, based on the payload data.</dd></dl>

<dl class="function">
<dt id="email.encoders.encode_noop">
<tt class="descclassname">email.encoders.</tt><tt class="descname">encode_noop</tt><big>(</big><em>msg</em><big>)</big><a class="headerlink" href="#email.encoders.encode_noop" title="Permalink to this definition">¶</a></dt>
<dd>This does nothing; it doesn&#8217;t even set the
<em>Content-Transfer-Encoding</em> header.</dd></dl>

<p class="rubric">Footnotes</p>
<table class="docutils footnote" frame="void" id="id2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>Note that encoding with <a title="email.encoders.encode_quopri" class="reference internal" href="#email.encoders.encode_quopri"><tt class="xref docutils literal"><span class="pre">encode_quopri()</span></tt></a> also encodes all tabs and space
characters in the data.</td></tr>
</tbody>
</table>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <h4>Previous topic</h4>
            <p class="topless"><a href="email.charset.html"
                                  title="previous chapter">19.1.6. <tt class="docutils literal docutils literal"><span class="pre">email</span></tt>: Representing character sets</a></p>
            <h4>Next topic</h4>
            <p class="topless"><a href="email.errors.html"
                                  title="next chapter">19.1.8. <tt class="docutils literal"><span class="pre">email</span></tt>: Exception and Defect classes</a></p>
            <h3>This Page</h3>
            <ul class="this-page-menu">
              <li><a href="../_sources/library/email.encoders.txt"
                     rel="nofollow">Show Source</a></li>
            </ul>
          <div id="searchbox" style="display: none">
            <h3>Quick search</h3>
              <form class="search" action="../search.html" method="get">
                <input type="text" name="q" size="18" />
                <input type="submit" value="Go" />
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </form>
              <p class="searchtip" style="font-size: 90%">
              Enter search terms or a module, class or function name.
              </p>
          </div>
          <script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../modindex.html" title="Global Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="email.errors.html" title="19.1.8. email: Exception and Defect classes"
             >next</a> |</li>
        <li class="right" >
          <a href="email.charset.html" title="19.1.6. email: Representing character sets"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="../index.html">Python v2.6.2 documentation</a> &raquo;</li>

          <li><a href="index.html" >The Python Standard Library</a> &raquo;</li>
          <li><a href="netdata.html" >19. Internet Data Handling</a> &raquo;</li>
          <li><a href="email.html" >19.1. <tt class="docutils literal docutils literal docutils literal docutils literal"><span class="pre">email</span></tt> &#8212; An email and MIME handling package</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
      &copy; <a href="../copyright.html">Copyright</a> 1990-2009, Python Software Foundation.
      Last updated on Apr 15, 2009.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.1.
    </div>
  </body>
</html>